1. Field of the Invention
This invention relates to information hantling systems for processing graphical data and in particular to graphics display systems comprised of multiple processors some of which have specialized graphics processing functions. This invention relates more particularly to graphics display systems for displaying graphics data stored as a hierarchical structure of graphics display elements, and more precisely to the separation of function and the interface between a general purpose processor for accessing graphics data and special purpose graphics processors.
2. Backqround Information
Graphics display systems used in the area of computer aided design (CAD), and computer aided engineering (CAE) display images created based upon graphics orders entered into the system. The graphics orders define objects in terms of primitive drawing operations for line, point, polygon, and similar primitive structures. Complex graphical images can be represented as a combination of these graphical primitives. Modern graphics display systems implement hierarchical representations of data that allow a single low level structure definition or sequence of structure definitions to be repetitively used to express an object. Thus, for example, a primitive definition of a single wheel may be entered, and then used repetitively to define the wheels of an automobile on a computer-aided design application. One of the emerging standards for graphics system programming is known as PHIGS (Programmer's Hierarchical Interactive Graphics System) that provides a set of functions for the definition, display, and manipulation of graphical data and geometrically related objects.
An interface standard such as PHIGS allows a particular graphics application program to be written at a high level without concern for the detailed implementation in a particular graphics display system. The use of this higher level language allows applications programs to be transferred between various types of equipment with only minor modification.
The logical data flow of a system employing hierarchical data structure is presented in FIG. 1. User application program 100 passes the data stream 102 containing necessary graphics information to the graphics processing system. The data stream information is divided into two functional categories: structure storage 104 containing the detailed descriptions of the graphics elements to be displayed; and the workstation state list 106 containing information necessary to set workstation variables to the appropriate value. A workstation program operating on the structure storage and workstation state list produces the final image to be generated on display surface 108.
A hardware architecture for implementing this form of graphics display system is shown in FIG. 2. Communications processor 110 provides an interface to a host system containing graphics orders and potentially, the user application program and graphical database. System control processor 112 manages the geometric database and controls the overall operation of the graphics display system System control processor 112 is a general purpose processor that can perform a variety of tasks. Graphics command processor 114 interprets the graphics commands placed in system memory by the system control processor and generates the detailed commands required by display processor 116, associated geometric processing unit 118 and rendering unit 120 that perform the actual object drawing. The final outputs of the display processor are pixel definition signals sent on line 122 to &:he frame buffer for display on a display device.
The functional structure of a multi-processor computer graphics display system is discussed in J. D. Foley and A. Van Dam Fundamentals of Interactive Computer Graphics, Addison-Wesley Publishing Company, 1982 on pp. 406-410 and 424-428. Other implementations of multi-processor graphics systems include U.S. Pat. No. 4,862,392 "Geometry Processor for Graphics Display System" to Steiner.
The model presented by Foley and Van Dam shows a display file compiler as part of the application program that contains a model traverser to map the application model (AM) to the structure display file containing a hierarchical description of the graphical representation of the object. The hierarchical display file is then processed by the display processing unit to create graphical primitive orders (linear display file) necessary to generate the object in the display controller. The display file compiler (DFC) according to Foley and Van Dam is specialized as part of the application package. This leads to certain inefficiencies due to the need to create a separate display file compiler for each application or each graphics display system. The introduction of standardized interface formats such as PHIGS (Programmers Hierarchical Interactive Graphics System) allows the introduction of standardized display file compilers which convert an application model created in, for example, the PHIGS structure to the structure display file format. This display file translation typically requires significant processor resources and tends to become a bottleneck in the graphics display systems
Steiner illustrates a multiprocessor system with a specified processor for geometry processing. Steiner illustrates the advantages of the multi-processor system but does not address the problem of the display file compiler bottleneck conversion of the application model to structured display file format.
The display file compiler has two primary functions First, the DFC must establish the physical graphics display system environment ordered by the application graphics instructions. This typically involves establishing workstation parameters and creating workstation default profiles. The second function involves processing or traversing of the graphics orders to generate the detailed description of the object necessary for geometry processing and rendering by subsequent processors. This traversal occurs within the defined workstation environment and is dependent upon the established environment. The inter-relationship of the workstation environment and model traversal has dictated that these be accomplished in the same logical processor. However, processor speed limitation has caused the single display file compiler logical processor to become a bottleneck in graphics display systems.